package cn.ilovese.collect.service.transaction;

import cn.ilovese.collect.vo.NullVO;
import cn.ilovese.collect.vo.ResultVO;
import cn.ilovese.collect.vo.transaction.TransactionDetailVO;
import cn.ilovese.collect.vo.transaction.TransactionFormVO;
import cn.ilovese.collect.vo.user.WorkerLevelHistoryVO;

import java.util.List;

public interface TransactionService {
    ResultVO<String> getUserBalance(Integer userId);

    ResultVO<NullVO> chargeByBoss(TransactionFormVO transactionFormVO);

    ResultVO<NullVO> withdrawByWorker(TransactionFormVO transactionFormVO);

    ResultVO<List<TransactionDetailVO>> getUserTransactionDetails(Integer userId, Long startTime, Long endTime);

    ResultVO<List<WorkerLevelHistoryVO>> getWorkerLevelHistory(Integer userId);
}
